1. Field of the Invention
The present invention relates to transmitters and transmitting methods, receivers and receiving methods, and transceivers and transmitting/receiving methods, and in particular, for example, to a transmitter and transmitting method, a receiver and receiving method, and a transceiver and transmitting/receiving method which enable the efficient and highly reliable distribution of data to a plurality of users.
2. Description of the Related Art
Methods for efficiently distributing data to a plurality of users include, for example, teletext for transmitting data such as characters, together with images and sound, by using so-called xe2x80x9cbroadcasting transmission mediaxe2x80x9d, such as terrestrial signals, a satellite link, and a CATV network.
In addition, techniques have been recently proposed in which data are efficiently distributed to a plurality of users by using, for example, the Internet etc. which uses a computer network and not a broadcasting transmission medium.
For example, techniques for efficiently distributing data to a plurality of users in the Internet include one called xe2x80x9cInternet protocol (IP) multicastxe2x80x9d for multiple broadcasting of data.
FIG. 8 shows the structure of one example of a data distribution system for distributing data by IP multicast, where the system means a logical group of a plurality of apparatuses, and each component apparatus does not need to be in an identical casing.
According to IP multicast, multicast addresses for performing simultaneous multicast (special IP addresses, generally called xe2x80x9cclass Dxe2x80x9d, having values from 224.0.0.0 to 239.255.255.255) are assigned to a receiver group as the collection of the receivers as the IP addresses of receivers to which data are distributed. A transmitter 101, as a server or the like for multicasting data, designates one particular multicast address before transmitting the data, and receivers 103 to 107, such as computers which receive the multicast data, are designated by the multicast address. In this case, when a router, which performs communication based on a TCP/IP protocol, adapted for multicast on a communication link 102, receives an IP packet having the designated multicast address, it finds channels in which there are the receivers having the designated multicast address, and transmits duplicates of the packet.
Accordingly, the transmitter 101 can distribute data to a plurality of receivers (receivers 103 to 107 in FIG. 8) for receiving the data by simply designating one address (multicast address) without paying attention to the plurality of receivers.
For example, in the communication link 102, such as the Internet, in order to reduce its traffic, data transfer channel control adapted for the IP multicast, such as omitting the transfer of redundant data and transferring data only to necessary addresses, may be performed.
According to the IP multicast, data transfer is performed in accordance with a user datagram protocol (UDP) as one of several connectionless protocols in which communication is performed without recognizing the reception of data at others (the receivers 103 to 107 in FIG. 8). Although the communication based on the UDP can reduce transmitting and receiving loads and can increase the processing speed, the reliability of data deteriorates because, at the level (the protocol level), signal ACK (acknowledgment) (hereinafter referred to as xe2x80x9cacknowledgement signal ACKxe2x80x9d if necessary) representing that data has been successfully received, and signal NAK (negative acknowledgment) (hereinafter referred to as xe2x80x9cretransmission request signal NAKxe2x80x9d if necessary) for requesting the retransmission of data when the data has not been successfully received, are not transmitted as responses from the receiving end to the transmitting end.
Accordingly, in order to improve the reliability of data, communication protocols such as a reliable multicast transport protocol (RMTP) have been proposed.
According to communication based on the RMTP, at first, the IP multicast is used to multicast data from the transmitter 101 to the receivers 103 to 107 via the communication link 102, based on the UDP, as shown in FIG. 9A. As shown in FIG. 9B, among the receivers 103 to 107, those which have successfully received the data transmit acknowledgement signals ACK, and the others which have not successfully received the data transmit retransmission request signals NAK to the transmitter 101 via the communication link 102, based on the UDP.
As shown in FIG. 9B, the receivers 104 and 106 have successfully received the data, and accordingly transmit the acknowledgement signals ACK to the transmitter 101, while the receivers 103, 105 and 107 have not successfully received the data, and accordingly transmit the retransmission request signals NAK to the transmitter 101.
When the transmitter 101 receives the retransmission request signals NAK, it transmits (retransmits) the requested data again, based on the UDP, as shown in FIG. 9A, and it repeatedly transmits the data until no retransmission request signals NAK are transmitted, or until a predetermined time while the retransmission request signals NAK are being transmitted.
According to communication based on the RMTP, either the acknowledgement signal ACK or the retransmission request signal NAK is always sent back. Thus, while the efficiency of distributing data to a plurality of users by using the IP multicast is maintained, the reliability of the data can be improved.
When data are distributed using a transmission medium such as terrestrial signals, a satellite link, and a CATV network, the data can simultaneously be multicast in a broad area. At present, protocols based on Internet protocols (IPs) such as the UDP and a transmission control protocol (TCP), which are successfully employed in a computer network, are not supported. Accordingly, when a loss which cannot be restored, or another error is generated while the data are being transmitted, nothing can be done to cope with the error. Therefore, the reliability of the data deteriorates.
In addition, in the case that the IP multicast is performed using, for example, the Internet as a computer network, employing the above-described RMTP can improve the reliability of data. However, in the present Internet, performing the IP multicast causes the repeated transmission of identical data in a wide range, which wastes the limited resources.
Accordingly, techniques for reducing the network traffic include one which implements data transfer channel control adapted for the IP multicast, such as omitting the repeated transferring of data, and transferring data only to necessary receivers, as described above. In this case, a router for performing the control must be provided in the network. However, when it is assumed that, for example, the worldwide Internet is used as the network, replacing every router in the Internet with such a special router is not practical at present.
Many enterprises connected to the Internet often provide a firewall in order to prevent third parties from intruding into their networks. Packets based on the IP multicast are blocked by the firewall. Thus, the network surrounded by the firewall cannot receive packets based on the IP multicast.
In addition, according to the RMTP, it is required that either acknowledgement signal ACK or retransmission request signal NAK should always be sent as a response in order to strengthen the reliability of data, as described in FIG. 9B.
Accordingly, a network that enables bidirectional communication is needed for combining a transmitter and receivers. In order to accept data distribution service based on the RMTP, the receivers must transmit acknowledgement signals ACK and retransmission request signals NAK to the transmitter.
In addition, for example, in the case that data are distributed to a large number of nationwide or worldwide users, causing every user (user""s receiver) to always transmit either acknowledgement signal ACK or retransmission request signal NAK congests the network. Consequently, it is difficult to efficiently distribute the data.
Accordingly, it is an object of the present invention to provide a transmitter and transmitting method, a receiver and receiving method, and a transceiver and transmitting/receiving method which enable the efficient and highly reliable distribution of data to a large number of users.
To this end, according to an aspect of the present invention, the foregoing object has been achieved through provision of a transmitter for transmitting data to one or more receivers via a multicast network capable of multicast, the transmitter comprising: transmitting means for transmitting the data via the multicast network; receiving means for receiving only retransmission requests for requesting the retransmission of the data, the retransmission requests being transmitted from the receivers; totaling means for totaling the retransmission requests received by the receiving means; and control means for controlling the transmitting means to retransmit the data, the retransmission of which is requested, based on the total from the totaling means.
According to another aspect of the present invention, the foregoing object has been achieved through provision of a transmitting method for transmitting data to one or more receivers via a multicast network capable of multicast, the transmitting method comprising the steps of: transmitting the data via the multicast network; receiving only retransmission requests for requesting the retransmission of the data when the retransmission requests are transmitted from the receivers; totaling the retransmission requests; and retransmitting the data, the retransmission of which is requested, via the multicast network, based on the total.
According to a further aspect of the present invention, the foregoing object has been achieved through provision of a receiver for receiving data transmitted via a multicast network capable of multicast, the receiver including: receiving means for receiving the data transmitted via the multicast network; verifying means for verifying whether or not the data have been successfully received; and transmitting means in which, only when the data have not been successfully received, the transmitting means transmits to a transmitter having transmitted the data a retransmission request for requesting the retransmission of the data not successfully received.
According to a still further aspect of the present invention, the foregoing object has been achieved through provision of a receiving method for receiving data transmitted via a multicast network capable of multicast, the receiving method comprising the steps of: receiving the data transmitted via the multicast network; verifying whether or not the data have been successfully received; and transmitting to a transmitter having transmitted the data a retransmission request only when the data have not been successfully received, the retransmission request requesting the retransmission of the data not successfully received.
According to yet another aspect of the present invention, the foregoing object has been achieved through provision of a transceiver comprising a transmitter for transmitting data via a multicast network capable of multicast, and one or more receivers for receiving the data, in which the transmitter comprises: data transmitting means for transmitting the data via the multicast network; retransmission-request receiving means for receiving only retransmission requests for requesting the retransmission of the data, the retransmission requests being transmitted from the receivers; totaling means for totaling the retransmission requests received by the retransmission-request receiving means; and control means for controlling the data transmitting means to retransmit the data, the retransmission of which is requested, based on the total from the totaling means, and at least one of the one or more receivers comprises: data receiving means for receiving the data transmitted via the multicast network; verifying means for verifying whether or not the data have been successfully received; and retransmission-request transmitting means for transmitting the retransmission requests to the transmitter only when the data have not been successfully received.
According to yet further aspect of the present invention, the foregoing object has been achieved through provision of a transmitting/receiving method for a transceiver composed of a transmitter for transmitting data via a multicast network capable of multicast, and one or more receivers for receiving the data, in which the transmitting/receiving method causes the transmitter to perform the steps of: transmitting the data via the multicast network; receiving only retransmission requests when the retransmission requests for requesting the retransmission of the data are transmitted from the receivers; totaling the retransmission requests; and retransmitting the data, the retransmission of which is requested, based on the total, and the transmitting/receiving method causes at least the one or more receivers to perform the steps of: receiving the data transmitted via the multicast network; verifying whether or not the data have been successfully received; and transmitting the retransmission requests only when the data have not been successfully received.
According to a transmitter and transmitting method of the present invention, when data are transmitted via a multicast network, and retransmission requests for requesting the retransmission of the data are transmitted from receivers, only the retransmission requests are received. The retransmission requests are totaled, and based on the total, data, the retransmission of which is requested, are retransmitted. Therefore, data can efficiently be distributed with high reliability.
According to a receiver and receiving method of the present invention, data transmitted via a multicast network are received, and verification of whether the data have been successfully received is performed. In addition, only when the data have not been successfully received, a retransmission request for requesting the retransmission of the data is transmitted to a transmitter having transmitted the data. Accordingly, data can efficiently be distributed with high reliability.
According to a transceiver and transmitting/receiving of the present invention, a transmitter transmits data via a multicast network, and receives only retransmission requests for requesting the retransmission of the data only when the retransmission requests are transmitted from receivers. The retransmission requests are totaled, and based on the total, the data, the retransmission of which is requested, is retransmitted. In addition, the data transmitted via the multicast network are received by at least one or more of one or more receivers, and verification of whether the data have been successfully received is performed. Only when the data have not been successfully received, a retransmission request is transmitted to the transmitter. Accordingly, data can efficiently be distributed with high reliability.